The present invention relates to industrial controllers for controlling industrial processes and equipment and more generally to an operating system suitable for a distributed industrial control system having multiple processing nodes spatially separated about a factory or the like.
Industrial controllers are special purpose computers used for controlling industrial processes and manufacturing equipment. Under the direction of a stored control program the industrial controller examines a series of inputs reflecting the status of the controlled process and in response, adjusts a series of outputs controlling the industrial process. The inputs and outputs may be binary, that is on or off, or analog providing a value within a continuous range of values.
Centralized industrial controllers may receive electrical inputs from the controlled process through remote input/output (I/O) modules communicating with the industrial controller over a high-speed communication network. Outputs generated by the industrial controller are likewise transmitted over the network to the I/O circuits to be communicated to the controlled equipment. The network provides a simplified means of communicating signals over a factory environment without multiple wires and the attendant cost of installation.
Effective real-time control is provided by executing the control program repeatedly in high speed xe2x80x9cscanxe2x80x9d cycles. During each scan cycle each input is read and new outputs are computed. Together with the high-speed communications network, this ensures the response of the control program to changes in the inputs and its generation of outputs will be rapid. All information is dealt with centrally by a well-characterized processor and communicated over a known communication network to yield predictable delay times, critical to deterministic control.
The centralized industrial controller architecture, however, is not readily scalable and with foreseeably large and complex control problems, unacceptable delays will result from the large amount of data that must be communicated to a central location and the demands placed on the centralized processor. For this reason it may be desirable to adopt a distributed control architecture in which multiple processors perform portions of the control program at spatially separate locations about the factory. By distributing the control, multiple processors may be brought to bear on the control problem reducing the burden on any individual processor and the amount of input and output data that must be transmitted.
Unfortunately the distributed control model is not as well characterized as far as guaranteeing performance of the controlled process as is required for real-time control. Delay in the execution of a portion of the control program by one processor can be fatal to successful real-time control and because the demand for individual processor resources fluctuates the potential for an unexpected overloading of a single processor is possible. This is particularly true when a number of different and independent applications programs are executed on the distributed controller where the application programs compete for the same set of physical hardware resources.
The present invention provides an operating system for distributed real-time industrial control that ensures deterministic execution of multiple independent application programs. To do so the operating system pre-allocates hardware resources to each application by seeking a commitment from those hardware resources that they will meet specified timing constraints. The hardware resources determine whether they can meet the timing constraints by modeling the execution of the application together with the other applications. Generally, the commitments are initially based on worst case assumptions which are later modified by actual statistics of the process during its execution.
Specifically the present invention provides a real-time operating system for use with a control system having spatially separated hardware resources arranged in a topology. The operating system includes an application list indicating control application programs to be executed together with a required completion time and control hardware resources required by the control application programs. A resource list indicates control hardware resources and their allocation among control application programs. A commitment program portion of the operating system receives new control application programs and identifies control hardware resources from the resource list matching control hardware resources required by the new control application program. The commitment program then allocates a portion of the required completion time to each identified hardware resource and models execution of the new control application program with the other control application programs on the application list to ensure that allocated completion time for each hardware resource is met. The new control application program is enrolled on the application list if the completion time constraint is met and otherwise an error is reported.
Thus it is one object of the invention to provide a deterministic control environment with distributed hardware found in a distributed control system. By pre-allocating all hardware resources based on completion times for the application programs, acceptable response times are ensured.
The commitment program may model the execution of a control application program based on pre-determined pattern of repeated execution of the new application. During running of the control application program the commitment program may collect statistics on bandwidth usage and arrival time to modify the pre-determined pattern of repeated execution to better optimize use of hardware resources.
Thus it is another object of the invention to allow conservative but certain allocation of hardware resources which may later be improved based on actual statistics of resource use by the application program.
The hardware resources may be shared by scheduling and the resource list may include a schedule of use of the hardware resources by control application programs and the commitment program may model the schedules of the control application programs.
Thus it is another object of the invention to allow allocation of control application programs to share hardware resources such as networks which can be partitioned only in time through a scheduling system.
The modeling of the execution of a control application program with the other control application programs for each hardware resource may occur at the spatial location of the hardware resource.
Thus it is another object of the invention to provide each hardware resource with its own modeling capability so that a control system may be freely constructed of different hardware resources and yet be used with the distributed operating system.
The distributed operating system may include a network topology map indicating the topology of interconnections of the control hardware resources. Upon receiving a new control application program, xe2x80x9cprimaryxe2x80x9d control hardware resources may be identified matching the hardware resources required by the new control application program and xe2x80x9cimplicitxe2x80x9d control hardware resources may be identified based on necessary intercommunications between identified primary control hardware resources per the network topology.
Thus it is another object of the invention to provide for deterministic operation of those hardware resources required principally to support the distributed nature of the control system, for example, hardware resources that provide intercommunication between other hardware resources sharing the principal execution of the control application program. Such implicit resources are not solely dependent on the application program but also depend upon the allocation by the commitment program of the control application program to the various hardware resources.
The foregoing and other objects and advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings which form a part hereof and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention, however, and reference must be made to the claims herein for interpreting the scope of the invention.